A user-interactive software application typically has help features to aid in the solution of problems and errors, to assist a user in understanding the operation of the application or the processing of user information by the application, and to provide help about the task the user is trying to do with the application (e.g. file taxes, trade securities, research medical information, etc.). Examples of user-interactive programs are tax preparation applications, on-line securities trading applications, on-line purchasing applications, employee benefits websites, medical information websites, or on-line rental applications. Different users obtain help information for the application through different help access mechanisms. Some prefer to enter data for a search inquiry. Some prefer to traverse menus from a tool bar. Some prefer to access a stand-alone help application related to the main software application. Users also differ in their preferences for presentation of the help information. Some prefer to view a video on a topic while others prefer an online electronic message exchange with a human being. Others prefer simple text explanations.
Furthermore, a user may use an application infrequently enough that they are likely to need assistance with the same help items previously selected. Examples of such applications include a tax preparation application or an employee benefits software package which many users use only once a year. Furthermore, changes within the user's circumstances result in changes in the user's input data to the application resulting in different execution paths and data outputs. The selection of help information provided to a user can greatly assist the user in understanding the effects of the change in input data in the areas related to the application (e.g. effect on taxable income) or to get to the pertinent portions of the application more quickly to achieve a task (e.g., perform a stock purchase.)
It is desirable to provide help information based on the user's previous selections, to automatically provide the user with helpful information that is pertinent to the user's needs and to present the help information in the user's preferred mode of presentation.